home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Prog / B-C / ByteBucket.cpt / ByteBucket / B且 Manual (TXT) < prev    next >
Encoding:
Text File  |  1987-06-07  |  11.7 KB  |  132 lines  |  [TEXT/MSWD]

  1.  
  2.  
  3.  
  4. Byte•Bucket
  5.  
  6.  
  7. The Revision Control System For the Macintosh™
  8. Version ß    6-Jun-87
  9.  
  10. - by -
  11. Mark S. Miller
  12. 301 Great Road #B-9
  13. Acton, MA 01720
  14.  
  15. CompuServe: 76625,254
  16. GEnie: MSMILLER
  17.  
  18.  
  19.  
  20.  
  21. 1.0 Introduction
  22.  
  23. One thing which has been missing from the Macintosh™ owner's pool of programs is a way to track changes in data files from all of the programs one can run on a Macintosh™. This problem stems from the versatility of the Macintosh™ itself - very few programs create ASCII (or plain text) data files which are  far easier to check against one another for incremental changes. The Macintosh™ owner has graphics files (paint programs),  desktop publishing files, database files, and, no doubt, a collection of game files. All of these files are binary and therefore hard to track.
  24.  
  25. Byte•Bucket implements a new (as far as I know) technique for tracking and controlling changes in ANY data file. It has a few limitations right now based mainly around some factors regarding the Macintosh™ itself, but should work fine for the majority of users. Byte•Bucket also has many powerful support features to allow users to tailor the way they use Byte•Bucket. These features include report capabilities and "Project Files" which allow  managing of groups of files as a single entity.
  26.  
  27.  
  28.  
  29. 2.0 Windows
  30.  
  31. Byte•Bucket has three windows: the Main Window, the Status Window (shown above) and the Log Window. The Log Window displays in text what Byte•Bucket is up to, as well as showing revision reports on files. Its contents may be sent to the printer by enabling the Echo Log to Printer option from the Byte•Bucket menu. The Status Window displays graphically what Byte•Bucket is doing to a file. Black areas indicate matching zones, half-tone areas indicate zones being added to Byte•Bucket's database. The Main Window houses all of Byte•Bucket's controls and is where all of the user's interaction will be carried out.
  32.  
  33.  
  34.  
  35. 3.0 Controls
  36.  
  37.  New File: Instantiates a file into the Byte•Bucket database. This is a necessary first step to using Byte•Bucket.
  38.  Check-In: Checks in the current image of a file. Byte•Bucket will catalogue all of the changes and update its database. 
  39.  Check-Out: Checks out a version of a file based on the current selection mode.
  40.  File Status: Shows a file's current revision status in the Log Window.
  41.  Generate Report: Shows a  files complete revision history in the Log Window.
  42.  Start New Release: Enabling this feature will have Byte•Bucket spawn a new release number for each file it checks in under this mode.
  43.  Select Check-Out By…: Byte•Bucket allows one to extract files based on either a specific revision or a specific date. These radio buttons select between the two.
  44.  Date Selection: This is a text entry area for specifying the check-out date. Byte•Bucket will extract the last revision made on the date specified.
  45.  Release.Revision Scroll Bars: These scroll-bars allow selection of a specific release/revision pair for extraction. If either scroll-bar is set to  "TOP" Byte•Bucket will automatically select the highest level of the associated value. 
  46.  Revision Remark: This area is provided to  allow users to add descriptive information about a revision's purpose. (Note: a remark string of "<Remark>" is treated as a null remark)
  47.  
  48.  
  49.  
  50. 4.0 Menus
  51.  
  52. 4.1 Byte•Bucket Menu
  53.  
  54.  Echo Log To Printer: In order to get a printed record of the revision status or history of a file, enable this option and all output sent to the Log Window will also be sent to the printer.
  55.  Remove DataBase: Byte•Bucket actually creates three files which it uses to track a file's changes. These files are marked as invisible in order  to reduce clutter on the desktop. As such, a special way is needed to remove these hidden files when you no longer wish to track its parent file's changes.
  56.  Invisible DataBase: In normal operation, Byte•Bucket hides all of the database files it uses to track revisions. If you want these files to be visible, disable this option from the menu when the "New File" command is executed.
  57.  Protect DataBase: In order to safeguard your database from possible harm, Byte•Bucket will make a copy of it before making any modifications for a Check-In. On systems without a hard disk, this may make the Check-In process longer than is acceptable; or there may not be enough disk space. This option can be toggled on and off through the menu item.
  58.  Create ProjFile: Creates a new project file with the "/∏" extension. Do NOT add this suffix when you provide a file name.
  59.  Add to ProjFile: Provides a means of adding existing Byte•Bucket database files to a project file.
  60.  Force ProjFile Check-In: The project file mechanism provides the ability to only check-in files which have changed since their last Check-In. This feature can be overridden by using this item on the Byte•Bucket menu.
  61.  
  62. 4.2 Check-Out Time Menu
  63.  
  64. This menu permits selection of Check-Out times in 15 minute increments.
  65.  
  66.  2 AM - 12 AM: These menu items allow the user to select what time of day Check-Outs are based on. The default is 12 AM (i.e. just before 12 midnight).  By selecting a different time from this part of the menu, one can have checkouts based on any two hour segment of a day.
  67.  -15 Min., -30 Min., -60 Min.: These menu items modify the time selections above. For instance, if one wanted to checkout files relative to 4:45 PM, 6 PM should be selected from the menu above and then -15 Min. and -60 Min. should be selected to modify this time back to 4:45 PM.
  68.  
  69.  
  70. 5.0 Using Byte•Bucket
  71.  
  72. Byte•Bucket is designed to track changes in files. It is not a substitute for doing back-ups. In fact, it makes back-ups even more important as not only are your current files vulnerable, but also the complete history of those files. Since Byte•Bucket's database files are not displayed in the finder, the entire folder the containing the database should be copied. Another option is to use one of the various file-modification programs available to make these database files visible so they can be copied individually.
  73.  
  74. Project Files are a powerful feature to Byte•Bucket. If you are working on a large, multi-file project, Project Files will allow you to do global Check-Ins of all files which have changed, as well as global Check-Outs by date or release. The beauty of Byte•Bucket is that more than just text-only program source can be handled. Suppose the project is a complex report with paint-files for drawings, data-base files from spread-sheets for tables, the body of the paper in the format of some word-processing program, and maybe a few special dictionaries and notes files. Byte•Bucket will handle all of these files with equal aplomb, allowing a non-specific file management interface.
  75.  
  76. Numbering of releases is another thing to keep in mind. Revision numbers are subordinate to release numbers, there can be 255 revisions per release. Release numbers (again, a limit of 255) should be incremented at major turning points of a project. For programs, every program release should obviously spawn a new release number. Likewise, when a new feature is first made functional in a program, a new release should be made to differentiate it from what came before. This protects one from breaking working code while adding new features.
  77.  
  78. When Byte•Bucket lists files to be checked in or out, it will list them with suffixes (or extensions) of "/Δ" for individual files or "/∏" for project files. Select files for use based on everything up to the extension (i.e. to Check-Out "TestFile", select "TestFile/Δ" from the file dialog when it appears.
  79.  
  80. When using Byte•Bucket, you should also keep disk space in mind. When a file is first set up, Byte•Bucket will make a copy of that file and also set up its database files. Make sure there is enough room on your disk for this to work. Also, if the Protect DataBase option is enabled, make sure there is enough space for Byte•Bucket to make copies of its files.
  81.  
  82. Finally, do not be misled by the Status Window. The resolution of its display is inadequate for large files. So, while it may look inactive, or like no differnces are being found in a file, it is most probably just that the changes are too small for it to display. Also note that Byte•Bucket's efficiency starts to drop off noticably with files of over about 24K in length.
  83.  
  84. As a final note, keep in mind that various file formats will have different effects on Byte•Bucket. MacDraw, for example, changes large areas of its files as the result of visually small modifications. As such, Byte•Bucket does a lot more work checking in MacDraw files. MacWrite, on the other hand, has a more linear file format and consequently reduces the strain on Byte•Bucket. The best advice is simply to try things out and arrive at a happy medium of file size and performance which does not hinder your work.
  85.  
  86.  
  87. 6.0  Limitations, Licences, Benchmarks
  88.  
  89. 6.1 Limitations
  90.  
  91.  Byte•Bucket does not save resource forks, only data forks. This may or may not affect usage - MacWrite files, for example, work fine even though they have a resource fork.
  92.  There is a current size limit of 60K on files Byte•Bucket will operate on.
  93.  
  94. 6.2 Licences
  95.  
  96. Byte•Bucket is ShareWare+ (what's the '+' for?). A lot of effort has gone into the technique and the program. The current, one-time, license fee is $35.  The plus in ShareWare+ is the incentive I am giving people to send in their fees. This incentive is a 20% discount on the license fee of a subsequent ShareWare+ title I distribute.
  97.  
  98. 6.3 Benchmarks
  99.  
  100. Byte•Bucket was completed on a Macintosh SE Hard Disk system, it works with the latest version of system software.
  101.  
  102. Byte•Bucket requires 256K of memory to operate under Switcher™.
  103.  
  104. Byte•Bucket has been tested with the following file types:
  105.     MacWrite ®    MacPaint ®    MacDraw ®
  106.     TEXT    Acta™    Reflex
  107.  
  108. The following timing measurements were made checking in various types of files on a Mac SE/HD:
  109.     10K MacPaint File (5K changed) - 20 seconds
  110.     20K MacPaint File (10K change) - 30 seconds
  111.     24K MacWrite File (50 changes) - 45 seconds
  112.     10K Text File File (50 changes) - 10 seconds
  113.  
  114.  
  115. 7.0  Designers Notes
  116.  
  117. Byte•Bucket represents about a year of experimenting with various techniques for tracking changes in binary files. The method arrived at is a careful balance of speed and disk efficiency. Although, the only slow part of the program is the Check-In function, version extraction is actually quite quick. There were many things tried in the name of improved speed, but many of these either resulted in negligible gains, or a grotesque appetite for memory. Since Byte•Bucket will eventually migrate into a desk accesory, memory use had to be kept to a minimum. 
  118.  
  119. This is not to say that the quest for higher performance will cease. There is an entire set of techniques that are left to be experimented with. These other methods, however, represent further evolution of the technique rather than enhancements to it. Let it suffice to say that this merely the first  generation of the technique (the goal is for a 100% speed increase). 
  120.  
  121. Revision control programs can be scary things for users. You are putting your project into the hands of some piece of 'magic' software and hoping it won't mess it up. It is only after prolonged use that using a program such as Byte•Bucket becomes a comfortable experience. As was mentioned before, ALWAYS MAKE BACKUPS! Even revision control programs which have been around for years still make mistakes. If you are not comfortable with Byte•Bucket, make extra back-ups at critical phases of development and use Byte•Bucket only for incremental changes. Remember, Byte•Bucket is only a tool, it is meant to help you.
  122.  
  123.  
  124. DISCLAIMER:
  125. Due to the nature of what this program does, and the variety of file formats it  may be used with, I relinquish all responsibility for data lost through the use of this program.
  126.  
  127.  
  128. • Macintosh & Switcher are Trademarks of Apple Computer, Inc.
  129. • MacWrite, MacPaint & MacDraw are registered Trademarks of Apple Computer, Inc.
  130. • Acta is a Trademark of Symmetry Corporation.
  131.  
  132.